public class code1 {
    //两数相加
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        //1.引入虚拟头节点，就可以直接进行相加
        //2.引入变量t记录每位相加的结果，每次将t的个位存入，十位留下
        ListNode ret = new ListNode(-1);//创建一个虚拟结点，方便记录结果
        ListNode cur1 = l1,cur2 = l2;
        ListNode cur = ret;//尾插操作的尾指针
        int t = 0;
        while(cur1!=null || cur2!=null||t!=0) {//当t=1，最后一个数为9，还需进一位
            if(cur1!=null) {
                t += cur1.val;
                cur1 = cur1.next;
            }
            if(cur2!=null) {
                t += cur2.val;
                cur2 = cur2.next;
            }
            //尾插
            cur.next = new ListNode(t%10);
            cur = cur.next;
            t /= 10;
        }
        return ret.next;
    }
}
